#ifndef SOAVIDEORECORDSERVER_H_
#define SOAVIDEORECORDSERVER_H_

#include "Basc_VideoRecordServer.pb.h"
class adr_component;
namespace DcAdr
{
    class SoaVideoRecordServer
    {
    public:
        static SoaVideoRecordServer &getInstance();
        void RR_Init(const std::string &topic, const std::string &requestData, std::string &replyData);
        void RR_Uinit(const std::string &topic, const std::string &requestData, std::string &replyData);
        void RR_RequestVideoFile(const std::string &topic, const std::string &requestData, std::string &replyData);

        void videoRequest(const Soa::PB_VideoRequestParam &data);

        void setPublishHandle(adr_component *component);

    private:
        SoaVideoRecordServer();
        ~SoaVideoRecordServer();

        adr_component *m_component{nullptr};
    };
}

#endif //SOAVIDEORECORDSERVER_H_